package a2025_02_17;
//103 二叉树的锯齿形层序遍历
//import javax.swing.tree.TreeNode;
//import java.util.ArrayList;
//import java.util.LinkedList;
//import java.util.List;
//import java.util.Queue;
//
///**
// * Definition for a binary tree node.
// * public class TreeNode {
// *     int val;
// *     TreeNode left;
// *     TreeNode right;
// *     TreeNode() {}
// *     TreeNode(int val) { this.val = val; }
// *     TreeNode(int val, TreeNode left, TreeNode right) {
// *         this.val = val;
// *         this.left = left;
// *         this.right = right;
// *     }
// * }
// */
//class Solution {
//    public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
//        List<List<Integer>> ret=new ArrayList<>();
//        if(root==null) return ret;
//        Queue<TreeNode> queue=new LinkedList<>();
//        queue.add(root);
//        int count=1;
//        while(!queue.isEmpty()){
//            int sz=queue.size();
//            List<Integer> temp=new ArrayList<>();
//            for(int i=0;i<sz;i++){
//                TreeNode node=queue.poll();
//                temp.add(node.val);
//                if(node.left!=null) queue.add(node.left);
//                if(node.right!=null) queue.add(node.right);
//            }
//            if(count%2==0){//偶数层要逆序
//                List<Integer> temp2=new ArrayList<>();
//                for(int i=temp.size()-1;i>=0;i--){
//                    temp2.add(temp.get(i));
//                }
//                ret.add(temp2);
//            }else{
//                ret.add(temp);
//            }
//            count++;
//        }
//        return ret;
//    }
//}
